package com.christina.service.domain.travel.model;

import lombok.Data;
import lombok.Builder;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * 出行规划请求模型
 * 
 * @author Christina
 */
@Data
@Builder
public class TravelPlanRequest {
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 出发地
     */
    private String origin;
    
    /**
     * 目的地
     */
    private String destination;
    
    /**
     * 出发时间
     */
    private LocalDateTime departureTime;
    
    /**
     * 期望到达时间
     */
    private LocalDateTime expectedArrivalTime;
    
    /**
     * 出行人数
     */
    private Integer passengerCount;
    
    /**
     * 预算限制
     */
    private Double budgetLimit;
    
    /**
     * 交通方式偏好
     */
    private List<String> preferredTransportModes;
    
    /**
     * 交通方式
     */
    private String transportMode;
    
    /**
     * 优先级偏好
     */
    private String priority;
    
    /**
     * 特殊需求
     */
    private List<String> specialRequirements;
    
    /**
     * 是否需要返程
     */
    private Boolean needReturnTrip;
    
    /**
     * 返程时间
     */
    private LocalDateTime returnTime;
    
    /**
     * 额外偏好
     */
    private Map<String, Object> preferences;
}